package com.ftg.learn.day07;

import java.util.Arrays;

/**
 * 学习一下数组帮助类
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/7/17 下午4:03
 */
public class Arrays01 {

    public static void main(String[] args) {
        //有一个引用类型，它可以帮助我们完成数组相关的知识

//        int[] as = {1,2,3,4,1,3,4,7};
        char[] as = {'赵','钱','孙','李','周','吴','政','王'};

        int a = '吴';
        int b = '周';
        System.out.printf("%d -- %d",a,b);

        //排序
        Arrays.sort(as);

        // 二分查找法  拆半查找
        System.out.println(Arrays.binarySearch(as, '康'));


        //快速复制
//        Arrays.fill(as,'康');


        //数据拷贝
        char[] asNew = Arrays.copyOf(as,3);

        //范围
        char[] asNew1 = Arrays.copyOfRange(as,2,5);


        Integer[] a1 = {1,23,31};
        Integer[] a2 = {1,21,3};

        // 再基础类型数组当中 ， 判断相同下标对应的値是否相同,不考虑类型
        // 再引用类型当中，会判断类型
        //相同的方法名称 ，参不一样，代码不一样，方法重载
        System.out.println(Arrays.equals(a1, a2));
        // 只能对引用类型数组进行使用，先判断下标对的値类型是否相同，如果相同再判断値是否相同
        System.out.println(Arrays.deepEquals(a1, a2));

        //比较方法 ，如果返回0表示完全相同  equals  -1表示至少有一个不相同  a1的小于a2  1 表示有一个不同a2小a1
//        System.out.println(Arrays.compare(a1, a2));

        System.out.println(Arrays.toString(as));
        System.out.println(Arrays.toString(asNew));
        System.out.println(Arrays.toString(asNew1));
    }

}
